package com.baijiayun.liveuibase.base

import android.view.View
import com.baijiayun.liveuibase.base.ILayer

/**
 * Created by pengwenjian on 2021/1/6
 * Describe:
 */
interface IWindow {

    /**
     * 获得根view
     *
     * @return 窗口根view
     */
    fun getView(): View?

    /**
     * 最大化窗口
     */
    fun maximize()

    /**
     * 当前用户是否有操作权限
     *
     * @return 控制权限
     */
    fun controllable(): Boolean

    /**
     * 移动到位置 (x,y,z)
     */
    fun moveTo(x: Int, y: Int, z: Int)

    /**
     * 移动到位置 (x,y)
     */
    fun moveTo(x: Int, y: Int)

    /**
     * 缩放至宽高 (w, h)
     */
    fun scaleTo(width: Int, height: Int)

    /**
     * 添加到层
     *
     * @param layer 层
     */
    fun moveTo(layer: ILayer?)

    /**
     * 添加到层
     *
     * @param layer 层
     * @param x
     * @param y
     */
    fun moveTo(layer: ILayer?, x: Int, y: Int)

    /**
     * 获得层级
     *
     * @return order
     */
    fun getOrderInLayer(): Int
}